El periodo de prácticas produjo un sistema funcional y coherente: un módulo de descripciones correctamente estructurado sobre principios DDD y un agente RAG capaz de responder preguntas en lenguaje natural sobre los datos de DWall. Sin embargo, el análisis detallado de ambos componentes deja en evidencia limitaciones estructurales que hacen inviable su adopción directa en producción y que orientan el trabajo del TFG.
Pese al volumen de trabajo invertido, la mayor parte del sistema desarrollado durante las prácticas será descartado o reescrito. El único componente que el TFG tomará como base real es el módulo de descripciones backend: su esquema de base de datos, el patrón mirror y la sincronización mediante eventos son sólidos y bien diseñados. Aun así, deberá ser extendido: la integración de las descripciones en los formularios de creación de cada entidad, iniciada parcialmente en las prácticas, deberá completarse para todos los tipos de recurso.
Embeddings: del esquema a los recursos
El sistema RAG del prototipo genera embeddings a partir del esquema de tablas de DWall — representaciones textuales de columnas y relaciones — para que el LLM pueda construir consultas SQL. Este enfoque tiene un problema de fondo: indexa la estructura técnica de la base de datos, no el significado de negocio de los datos.
El TFG migrará el almacenamiento vectorial a PostgreSQL con pgvector, eliminando la dependencia de FAISS y sus archivos locales. El cambio más importante, sin embargo, no es tecnológico sino conceptual: los embeddings dejarán de generarse a partir del esquema de tablas y pasarán a generarse a partir de las descripciones de los propios recursos — las variables, reglas, etiquetas y consultas que el módulo de descripciones ya almacena. La búsqueda semántica operará así sobre el significado de negocio de cada recurso, no sobre su representación técnica en base de datos.
Sistema de archivos: de Python a DWall
En el prototipo, la gestión documental es responsabilidad del agente Python: los archivos se suben a través de Flask, se procesan en chunks y se indexan en FAISS. Esta arquitectura acopla la lógica de archivos al proceso del agente y la deja fuera del ecosistema de DWall.
El TFG refactorizará este sistema completamente. El módulo de archivos pasará a ser un bounded context propio dentro del backend Java de DWall (dwall-module-files), con almacenamiento en Google Cloud Storage y generación de embeddings integrada en pgvector a través de un módulo dedicado (dwall-module-embeddings-files). La arquitectura resultante es coherente con el resto del sistema, elimina la dependencia del proceso Python para la gestión documental y permite que los archivos sean ciudadanos de primera clase dentro de DWall.